home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1990-1992 Michael Davidson.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for any purpose and without fee is hereby
- * granted, provided that the above copyright notice appear in all
- * copies and that both that copyright notice and this permission
- * notice appear in supporting documentation.
- *
- * This software is provided "as is" without express or implied warranty.
- */
-
- /*
- * keyboard mapping tables
- */
-
- #include "kbd.h"
-
- #define F1 FUNC(1)
- #define F2 FUNC(2)
- #define F3 FUNC(3)
- #define F4 FUNC(4)
- #define F5 FUNC(5)
- #define F6 FUNC(6)
- #define F7 FUNC(7)
- #define F8 FUNC(8)
- #define F9 FUNC(9)
- #define F10 FUNC(10)
-
- #define C(x) CTRL(x)
- #define A(x) ALT(x)
- #define S(x) SHIFT(x)
-
- /*
- * map PC extended key codes to function key values
- */
- unsigned short extkeymap[256] =
- {
- /*00*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*10*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*20*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*30*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, F1, F2, F3, F4, F5,
- /*40*/ F6, F7, F8, F9, F10, 0, 0, K_HOME,
- K_UP, K_PG_UP,K_MINUS,K_LEFT, K_5, K_RIGHT,K_PLUS, K_END,
- /*50*/ K_DOWN, K_PG_DN,K_INS, K_DEL, S(F1), S(F2), S(F3), S(F4),
- S(F5), S(F6), S(F7), S(F8), S(F9), S(F10), C(F1), C(F2),
- /*60*/ C(F3), C(F4), C(F5), C(F6), C(F7), C(F8), C(F9), C(F10),
- A(F1), A(F2), A(F3), A(F4), A(F5), A(F6), A(F7), A(F8),
- /*70*/ A(F9), A(F10), 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*80*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*90*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*A0*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*B0*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*C0*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*D0*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*E0*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- /*F0*/ 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
-
- /*
- * Function key string table for the SCO UNIX console driver
- *
- * A string table is used to generate escape sequences for the
- * function keys that can easily be translated into PC extended
- * codes. This is preferable to putting the console driver itself
- * into extended keycode mode since that has a number of side
- * effects (including changing the screen switch keys from Alt Fn
- * to Ctrl Alt Fn).
- *
- * The escape byte used is 0xff and the second byte is the extended
- * code.
- */
- unsigned char kbstrmap[512] =
- {
- 0xff, 0x3b, 0x00, /* F1 */
- 0xff, 0x3c, 0x00, /* F2 */
- 0xff, 0x3d, 0x00, /* F3 */
- 0xff, 0x3e, 0x00, /* F4 */
- 0xff, 0x3f, 0x00, /* F5 */
- 0xff, 0x40, 0x00, /* F6 */
- 0xff, 0x41, 0x00, /* F7 */
- 0xff, 0x42, 0x00, /* F8 */
- 0xff, 0x43, 0x00, /* F9 */
- 0xff, 0x44, 0x00, /* F10 */
- 0xff, 0xff, 0x00, /* F11 */
- 0xff, 0xff, 0x00, /* F12 */
- 0xff, 0x54, 0x00, /* Shift F1 */
- 0xff, 0x55, 0x00, /* Shift F2 */
- 0xff, 0x56, 0x00, /* Shift F3 */
- 0xff, 0x57, 0x00, /* Shift F4 */
- 0xff, 0x58, 0x00, /* Shift F5 */
- 0xff, 0x59, 0x00, /* Shift F6 */
- 0xff, 0x5a, 0x00, /* Shift F7 */
- 0xff, 0x5b, 0x00, /* Shift F8 */
- 0xff, 0x5c, 0x00, /* Shift F9 */
- 0xff, 0x5d, 0x00, /* Shift F10 */
- 0xff, 0xff, 0x00, /* Shift F11 */
- 0xff, 0xff, 0x00, /* Shift F12 */
- 0xff, 0x5e, 0x00, /* Ctrl F1 */
- 0xff, 0x5f, 0x00, /* Ctrl F2 */
- 0xff, 0x60, 0x00, /* Ctrl F3 */
- 0xff, 0x61, 0x00, /* Ctrl F4 */
- 0xff, 0x62, 0x00, /* Ctrl F5 */
- 0xff, 0x63, 0x00, /* Ctrl F6 */
- 0xff, 0x64, 0x00, /* Ctrl F7 */
- 0xff, 0x65, 0x00, /* Ctrl F8 */
- 0xff, 0x66, 0x00, /* Ctrl F9 */
- 0xff, 0x67, 0x00, /* Ctrl F10 */
- 0xff, 0xff, 0x00, /* Ctrl F11 */
- 0xff, 0xff, 0x00, /* Ctrl F12 */
- 0xff, 0x68, 0x00, /* Ctrl Shift F1 */
- 0xff, 0x69, 0x00, /* Ctrl Shift F2 */
- 0xff, 0x6a, 0x00, /* Ctrl Shift F3 */
- 0xff, 0x6b, 0x00, /* Ctrl Shift F4 */
- 0xff, 0x6c, 0x00, /* Ctrl Shift F5 */
- 0xff, 0x6d, 0x00, /* Ctrl Shift F6 */
- 0xff, 0x6e, 0x00, /* Ctrl Shift F7 */
- 0xff, 0x6f, 0x00, /* Ctrl Shift F8 */
- 0xff, 0x70, 0x00, /* Ctrl Shift F9 */
- 0xff, 0x71, 0x00, /* Ctrl Shift F10 */
- 0xff, 0xff, 0x00, /* Ctrl Shift F11 */
- 0xff, 0xff, 0x00, /* Ctrl Shift F12 */
- 0xff, 0x47, 0x00, /* Keypad 7 - Home */
- 0xff, 0x48, 0x00, /* Keypad 8 - Up */
- 0xff, 0x49, 0x00, /* Keypad 8 - Page Up */
- 0xff, 0x4a, 0x00, /* Keypad - */
- 0xff, 0x4b, 0x00, /* Keypad 8 - Left */
- 0xff, 0x4c, 0x00, /* Keypad 5 */
- 0xff, 0x4d, 0x00, /* Keypad 8 - Right */
- 0xff, 0x4e, 0x00, /* Keypad + */
- 0xff, 0x4f, 0x00, /* Keypad 8 - End */
- 0xff, 0x50, 0x00, /* Keypad 8 - Down */
- 0xff, 0x51, 0x00, /* Keypad 8 - Page Down */
- 0xff, 0x52, 0x00, /* Keypad 8 - Insert */
- };
-